home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Nordlicht Spiele
/
Nordlicht Spiele 24-08 (19xx)(Nordlicht)(DE)(PD).zip
/
Nordlicht Spiele 24-08 (19xx)(Nordlicht)(DE)(PD).adf
/
Editor-ASC
< prev
next >
Wrap
Text File
|
1993-07-13
|
6KB
|
182 lines
'
' Pacman screen designer V2.0 (C) Tony Brice. 8th July 1993.
'
' Asc text saved 13th July 1993.
'
Cls 8
Dim MAPDATA(12,18)
Gosub MAZE
Goto SETUP
MAZE:
Restore
For A=0 To 12 : For B=0 To 18 : Read MAPDATA(A,B) : MAPDATA(A,B)=MAPDATA(A,B)+21
Next B : Next A : S$="*" : Return
Data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
Data 2,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2
Data 2,3,2,2,2,2,3,2,3,2,3,2,3,2,2,2,2,3,2
Data 2,4,3,2,3,3,3,2,3,2,3,2,3,3,3,2,3,4,2
Data 2,2,3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,2,2
Data 2,2,2,2,2,2,3,2,1,1,1,2,3,2,2,2,2,2,2
Data 1,3,3,3,3,3,3,2,1,1,1,2,3,3,3,3,3,3,1
Data 2,2,2,2,2,2,3,2,2,2,2,2,3,2,2,2,2,2,2
Data 2,2,3,3,3,2,3,2,3,1,3,2,3,2,3,3,3,2,2
Data 2,4,3,2,3,3,3,2,3,2,3,2,3,3,3,2,3,4,2
Data 2,3,2,2,2,2,3,2,3,2,3,2,3,2,2,2,2,3,2
Data 2,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2
Data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
MAZE2:
For A=1 To 11 : For B=0 To 18 : MAPDATA(A,B)=22 : Next B : Next A : S$="*" : Return
SETUP:
Screen Open 2,320,20,16,Lowres
Curs Off : Flash Off : Hide : Cls 0 : Ink 2 : Paper 0
Y=8 : X=9 : CX=144 : CY=128 : A$="d" : Gosub HELPTEXT
SEEMAP:
Screen Open 1,320,224,16,Lowres
Pen 0 : Paper 0 : Cls 0 : Curs Off : Flash Off : Get Sprite Palette
Screen Display 1,,70,, : Update Off : Update : Autoback 0
Screen Hide 1 : Screen 1 : CC=1 : DD=1
Gosub SEESTAT
ICONY=0
For A=0 To 12
ICONX=0
For B=0 To 18
Paste Bob ICONX,ICONY,MAPDATA(A,B)
Add ICONX,16
Next B
Add ICONY,16
Next A
Bob 2,144,128,2
Bob 3,127,95,5
Bob 4,142,95,6
Bob 5,160,95,7
Double Buffer : Screen Show 1 : Gosub DISPLAY
CONTROL:
A$=Inkey$ : If A$="" Then Goto CONTROL
If A$="Q" Then Screen Close 1 : Screen Close 2 : Screen Close 3 : Edit
If Scancode=95 Then Gosub HELP
ZZ=Asc(A$) : If ZZ=27 Then Goto STORESCREEN
If ZZ=29 Then X=X-1 : CX=CX-16 : Gosub DISPLAY
If X<0 Then X=18 : CX=CX+(19*16) : Gosub DISPLAY
If ZZ=28 Then X=X+1 : CX=CX+16 : Gosub DISPLAY
If X>18 Then X=0 : CX=CX-(19*16) : Gosub DISPLAY
If ZZ=30 Then Y=Y-1 : CY=CY-16 : Gosub DISPLAY
If Y<0 Then Y=12 : CY=CY+(13*16) : Gosub DISPLAY
If ZZ=31 Then Y=Y+1 : CY=CY+16 : Gosub DISPLAY
If Y>12 Then Y=0 : CY=CY-(13*16) : Gosub DISPLAY
If A$="l" Then Goto LMAP
If A$="s" Then Gosub SMAP : Gosub DISPLAY
If A$="c" Then CC=CC+1 : If CC>3 Then CC=1 : Goto CLEAR
If A$="d" Then DD=DD+1 : If DD>3 Then DD=1 : Goto DFAULT
If A$="h" Then CX=0 : CY=0 : X=0 : Y=0 : Gosub DISPLAY : Goto CONTROL
If A$="1" Then Z=23 : Goto SELECT
If A$="2" Then Z=24 : Goto SELECT
If A$="3" Then Z=25 : Goto SELECT
If A$=" " Then Z=22 : Goto SELECT
Goto CONTROL
SELECT:
Paste Bob CX,CY,Z : MAPDATA(Y,X)=Z
Gosub DISPLAY : Goto CONTROL
DISPLAY:
Bob 1,CX,CY,19 : Update
Screen 2 : Cls 0
Locate 0,0 : Print "X-position:";X;" Y position:";Y;" SCRN(";S$;")";" ";
Locate 0,1 : Print " Press Help for Keys or SH-Q to quit";
Screen 1 : Return
SELECTFILE:
Screen 2 : Cls 0
Locate 0,0 : Print " Select a letter file (K to T)";
Locate 0,1 : Print " Press 1 to return to Editor";
SL:
J$=Inkey$ : If J$="" Then Goto SL
If J$="1" Then Return
S=Asc(J$) : If S<107 or S>116 Then Goto SL
FILE$="df0:maps/map-data"+J$ : S$=J$
Return
LMAP:
Gosub SELECTFILE : If J$="1" Then Gosub DISPLAY : Goto CONTROL
Screen Hide 1 : Gosub SEESTAT
Open In 1,FILE$
For T=0 To 12 : For G=0 To 18
Input #1,MAPDATA(T,G)
Next G : Next T
Input #1,PL
Close : Screen Close 1 : Goto SEEMAP
SMAP:
Gosub SELECTFILE : If J$="1" Then Gosub DISPLAY : Return
Gosub SEESTAT : Gosub COUNTING
Open Out 2,FILE$
For T=0 To 12 : For G=0 To 18
Print #2,MAPDATA(T,G) : Next G : Next T
Print #2,PL
Close : Return
CLEAR:
Gosub SEESTAT : Gosub MAZE : Gosub MAZE2 : Screen Close 1 : Goto SEEMAP
DFAULT:
Gosub SEESTAT : Gosub MAZE : Screen Close 1 : Goto SEEMAP
SEESTAT:
Screen 2 : Cls 0
If A$="l" Then Print " Loading data - Please wait."
If A$="d" Then Print " Creating default - Please wait."
If A$="s" Then Print " Saving data. Please wait."
If A$="c" Then Print " Clearing screen. Please wait."
Screen 1 : Return
HELP:
Screen Hide 1 : Screen Hide 2 : Screen Show 3
HELL:
XX$=Inkey$
If XX$="Q" Then Screen Close 1 : Screen Close 2 : Screen Close 3 : Edit
If Scancode=95 Then Screen Hide 3 : Screen Show 1 : Screen Show 2 : Return
Goto HELL
HELPTEXT:
Screen Open 3,320,227,16,Lowres
Paper 2 : Cls 2 : Curs Off
Screen Hide 3
Pen 1 : Print " ------------------------------------"
Print " Pacman Map editor - V2.0 by T.Brice."
Print " ------------------------------------"
Locate ,4 : Pen 3 : Centre "Help screen"
Locate ,5 : Pen 1 : Centre "-----------"
Pen 4 : Locate 0,7
Print "Keys: 1-wall, 2-dot & 3-PowerPill. Space";
Print "clears the current square and using the"
Print "arrow keys will move the cursor box ....";
Print : Pen 5
Print " Press H to send cursor to top left."
Print " Press C 3 times to clear screen."
Print " Press D 3 times to load default screen."
Pen 6 : Print " Press Shift & Q to quit the editor."
Print : Pen 7
Print "Each file saves out the screen data and"
Print "the number of pills at the end of the"
Print "file. The data is saved in the maps dir"
Print "of the source disk and has a letter code";
Print "at the end."
Print : Pen 9
Print "Press Escape to save all screens as bank";
Print " Press Help to return to editor";
Return
COUNTING:
T=0 : For A=0 To 12 : For B=0 To 18
If MAPDATA(A,B)=3 Then T=T+1
Next B : Next A : PL=T : Return
STORESCREEN:
Reserve As Work 2,4320 : Screen Close 1 : Screen Close 3
Screen 2 : Cls 0 : Pen 2 : Paper 0
FF$="abcdefghijklmnopqrst"
Locate 0,1 : Print "Converting maps to bank 2. Please wait!"
For S=0 To 19
POSITION=Start(2)+(S*247)
FILE$="df0:maps/map-data"
FILE$=FILE$+Mid$(FF$,S+1,1)
Open In 1,FILE$
For A=0 To 12
For B=0 To 18
Input #1,MAPDATA(A,B)
Poke POSITION+A*19+B,MAPDATA(A,B)
Next B : Next A
Input #1,PL
Close 1 : Next S
Cls 0 : Locate 0,1 : Print "Saving data as Map-data.WORK to bank 2"
Save "df0:Map-data.WORK",2
Edit